<?php
if (!defined('ROOT')) {
   die("Impossible de voir ce fichier directement.");
}

class Singleton
{
    private static $instance;
    private $count = 0;

    private function __construct() 
    {
         $this->count = 0;
    }

    public static function singleton() 
    {
        if (!isset(self::$instance)) {
            echo "création de l'instance";
            $className = __CLASS__;
            self::$instance = new $className;
        }
        return self::$instance;
    }

    public function increment()
    {
        return $this->count++;
    }

    public function __wakeup()
    {
        trigger_error('Désérialiser est interdit.', E_USER_ERROR);
    }

    public function __clone()
    {
        trigger_error('Le clônage n\'est pas autorisé.', E_USER_ERROR);
    }
}
?>